/**
 * 项目名称（软件名称）：忠旺机械物资管理系统(mms)
 * 研发设计单位：忠旺机械设备制造有限公司机械设计院智能控制设计科设计与研发。
 * 版权所有：忠旺机械设备制造有限公司
 * 注：本项目的一切技术专利，使用规范归解释权由忠旺机械设备制造有限公司所有。
 * 软件版本：Ver 1.0.0
 * 文件路径：com.zhongwang.mms.module.overview.controller
 * 创建时间：2020年05月23日 18时07分
 **/
package com.zhongwang.mms.module.overview.controller;

import com.zhongwang.mms.base.BaseController;
import com.zhongwang.mms.common.JsonResult;
import com.zhongwang.mms.gen.entity.TWarehouseInfo;
import com.zhongwang.mms.module.basic.model.TWarehouseInfoModel;
import com.zhongwang.mms.module.basic.service.TWarehouseInfoService;
import com.zhongwang.mms.module.material.model.MProjectInventoryMarkModel;
import com.zhongwang.mms.module.overview.model.statistical.MatYingKouInvClassDetailsModel;
import com.zhongwang.mms.module.overview.model.statistical.MonthlyReceiptPlanModel;
import com.zhongwang.mms.module.overview.model.statistical.SteelProductsDataModel;
import com.zhongwang.mms.module.overview.model.statisticalReport.StatisticsOfSteelInStockDataModel;
import com.zhongwang.mms.module.overview.model.statisticalReport.projectRemainingAmountQueryModel;
import com.zhongwang.mms.module.overview.service.OverStatisticalService;
import com.zhongwang.mms.module.purchase.model.PInventoryModel;
import com.zhongwang.mms.module.purchase.model.PurInvQueryModel;
import com.zhongwang.mms.module.purchase.model.PurWarQueryModel;
import com.zhongwang.mms.module.purchase.service.PurWarehouseInfoService;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.util.pattern.PathPattern;

import javax.servlet.http.HttpServletResponse;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.List;

/**
 * @ClassName： OverStatisticalController
 * @Description： 统计报表控制层
 * @Author： 徐一贺
 * @Date： 2020/5/23 18:07
 * @Version： V1.0
 **/
@Controller
@RequestMapping("/overview/statistical")
public class OverStatisticalController extends BaseController {

    @Autowired
    private OverStatisticalService overStatisticalService;
    @Autowired
    private PurWarehouseInfoService purWarehouseInfoService;

    @GetMapping
    @RequiresPermissions({"overview:statistical:view"})
    /**
     *@FunctionName: page
     *@Description: 跳转到统计报表页面
     *@DesignIdea: 请填写设计思想
     *@Author: 徐一贺
     *@CreateDate: 2020/6/23 15:47
     *@Phone: 18241927380
     *@Param: []
     *@Return: java.lang.String
     *@Throw:
     *@Version: v 1.0.0
     */
    public String page() {
        return "/overview/statisticalReport/page";
    }

    @GetMapping("/projectRemainingAmountQuery")
    @RequiresPermissions({"overview:statistical:view"})
    /**
     *@FunctionName: projectRemainingAmountQuery
     *@Description: 跳转到项目剩余金额
     *@DesignIdea: 跳转到项目剩余金额
     *@Author: 徐一贺
     *@CreateDate: 2020/6/23 13:45
     *@Phone: 18241927380
     *@Param: []
     *@Return: java.lang.String
     *@Throw:
     *@Version: v 1.0.0
     */
    public String projectRemainingAmountQuery() {
        return "/overview/statisticalReport/projectRemainingAmountQuery/page";
    }

    @GetMapping("/steelProducts")
    @RequiresPermissions({"overview:statistical:view"})
    /**
     *@FunctionName: steelProducts
     *@Description: 跳转到钢材在库统计
     *@DesignIdea: 跳转到钢材在库统计
     *@Author: 徐一贺
     *@CreateDate: 2020年7月30日16:35:25
     *@Phone: 18241927380
     *@Param: []
     *@Return: java.lang.String
     *@Throw:
     *@Version: v 1.0.0
     */
    public String steelProducts() {
        return "/overview/statisticalReport/statisticsOfSteelInStock/page";
    }
    @GetMapping("/materialInStock")
    @RequiresPermissions({"overview:statistical:view"})
    /**
     *@FunctionName: materialInStock
     *@Description: 跳转物资在库金额统计
     *@DesignIdea: 跳转物资在库金额统计
     *@Author: 徐一贺
     *@CreateDate: 2020年7月31日13:04:44
     *@Phone: 18241927380
     *@Param: []
     *@Return: java.lang.String
     *@Throw:
     *@Version: v 1.0.0
     */
    public String materialInStock() {
        return "/overview/statisticalReport/statisticsOfMaterialInStockAmount/page";
    }
    @GetMapping("/inventoryDetailsAndAmountOfMonthlyConsumptionDeferredItems")
    @RequiresPermissions({"overview:statistical:view"})
    /**
     *@FunctionName: inventoryDetailsAndAmountOfMonthlyConsumptionDeferredItems
     *@Description: 跳转月消耗暂缓项目库存明细及金额
     *@DesignIdea: 跳转月消耗暂缓项目库存明细及金额
     *@Author: 徐一贺
     *@CreateDate: 14:01:28
     *@Phone: 18241927380
     *@Param: []
     *@Return: java.lang.String
     *@Throw:
     *@Version: v 1.0.0
     */
    public String inventoryDetailsAndAmountOfMonthlyConsumptionDeferredItems() {
        return "/overview/statisticalReport/inventoryDetailsAndAmountOfMonthlyConsumptionDeferredItems/page";
    }
    @GetMapping("/monthlyConsumptionWarehouseInventoryDetailsAndAmount")
    @RequiresPermissions({"overview:statistical:view"})
    /**
     *@FunctionName: monthlyConsumptionWarehouseInventoryDetailsAndAmount
     *@Description: 跳转月消耗暂缓项目库存明细及金额
     *@DesignIdea: 跳转月消耗暂缓项目库存明细及金额
     *@Author: 徐一贺
     *@CreateDate: 14:01:28
     *@Phone: 18241927380
     *@Param: []
     *@Return: java.lang.String
     *@Throw:
     *@Version: v 1.0.0
     */
    public String monthlyConsumptionWarehouseInventoryDetailsAndAmount() {
        return "/overview/statisticalReport/monthlyConsumptionWarehouseInventoryDetailsAndAmount/page";
    }

    @GetMapping("/mecInv")
    @RequiresPermissions({"overview:stapurchase:view"})
    /**
     *@FunctionName: mecInv
     *@Description: 机械备件库在库明细以及总金额
     *@DesignIdea: 机械备件库在库明细以及总金额
     *@Author: 徐一贺
     *@CreateDate: 2020年7月7日08:33:29
     *@Phone: 18241927380
     *@Param: [model]
     *@Return: java.lang.String
     *@Throw:
     *@Version: v 1.0.0
     */
    public String mecInv(Model model) {
        TWarehouseInfoModel param = new TWarehouseInfoModel();
        param.setWhiPurControllerType("机械备件库");
        List<TWarehouseInfo> warehouseInfoList = purWarehouseInfoService.findWarehouseInfoListByWhiPurControllerType(param);
        model.addAttribute("warehouseInfoList", warehouseInfoList);
        String whiIds="";
        for (TWarehouseInfo tWarehouseInfo :warehouseInfoList ) {
            whiIds+=tWarehouseInfo.getWhiId()+",";
        }
        whiIds=whiIds.substring(0,whiIds.length()-1);
        model.addAttribute("whiIds",whiIds);
        model.addAttribute("totalPrice",overStatisticalService.getPInventoryTotalPriceByWhiIds(whiIds));
        return "/overview/statisticalReport/mecInv/page";
    }

    @GetMapping("/mecInvToPro")
    @RequiresPermissions({"overview:stapurchase:view"})
    /**
     *@FunctionName: mecInvToPro
     *@Description: 机械备件库划项目明细以及总金额
     *@DesignIdea: 机械备件库划项目明细以及总金额
     *@Author: 徐一贺
     *@CreateDate: 2020年7月7日09:27:57
     *@Phone: 18241927380
     *@Param: [model]
     *@Return: java.lang.String
     *@Throw:
     *@Version: v 1.0.0
     */
    public String mecInvToPro(Model model) {
        TWarehouseInfoModel param = new TWarehouseInfoModel();
        param.setWhiPurControllerType("机械备件库");
        List<TWarehouseInfo> warehouseInfoList = purWarehouseInfoService.findWarehouseInfoListByWhiPurControllerType(param);
        model.addAttribute("warehouseInfoList", warehouseInfoList);
        String whiIds="";
        for (TWarehouseInfo tWarehouseInfo :warehouseInfoList ) {
            whiIds+=tWarehouseInfo.getWhiId()+",";
        }
        whiIds=whiIds.substring(0,whiIds.length()-1);
        model.addAttribute("whiIds",whiIds);
        model.addAttribute("totalPrice",overStatisticalService.getPInventoryTotalPriceByWhiIdsForInvToPro(whiIds));
        return "/overview/statisticalReport/mecToProInv/page";
    }

    @GetMapping("/mecInvForPostpone")
    @RequiresPermissions({"overview:stapurchase:view"})
    /**
     *@FunctionName: mecInvForPostpone
     *@Description: 暂缓项目在库明细及总金额
     *@DesignIdea: 暂缓项目在库明细及总金额
     *@Author: 徐一贺
     *@CreateDate: 2020年7月7日09:27:57
     *@Phone: 18241927380
     *@Param: [model]
     *@Return: java.lang.String
     *@Throw:
     *@Version: v 1.0.0
     */
    public String mecInvForPostpone(Model model) {
        TWarehouseInfoModel param = new TWarehouseInfoModel();
        param.setWhiPurControllerType("机械备件库");
        List<TWarehouseInfo> warehouseInfoList = purWarehouseInfoService.findWarehouseInfoListByWhiPurControllerType(param);
        model.addAttribute("warehouseInfoList", warehouseInfoList);
        String whiIds="";
        for (TWarehouseInfo tWarehouseInfo :warehouseInfoList ) {
            whiIds+=tWarehouseInfo.getWhiId()+",";
        }
        whiIds=whiIds.substring(0,whiIds.length()-1);
        model.addAttribute("whiIds",whiIds);
        model.addAttribute("totalPrice",overStatisticalService.getPInventoryTotalPriceByWhiIdsForInvForPostpone(whiIds));
        return "/overview/statisticalReport/mecInvForPostpone/page";
    }

    @GetMapping("/mevMonthOut")
    @RequiresPermissions({"overview:stapurchase:view"})
    /**
     *@FunctionName: mevMonthOut
     *@Description: 当前月出库金额汇总及明细
     *@DesignIdea: 当前月出库金额汇总及明细
     *@Author: 徐一贺
     *@CreateDate: 2020年7月7日18:11:50
     *@Phone: 18241927380
     *@Param: [model]
     *@Return: java.lang.String
     *@Throw:
     *@Version: v 1.0.0
     */
    public String mevMonthOut(Model model) {
        TWarehouseInfoModel param = new TWarehouseInfoModel();
        param.setWhiPurControllerType("机械备件库");
        List<TWarehouseInfo> warehouseInfoList = purWarehouseInfoService.findWarehouseInfoListByWhiPurControllerType(param);
        model.addAttribute("warehouseInfoList", warehouseInfoList);
        String whiIds="";
        for (TWarehouseInfo tWarehouseInfo :warehouseInfoList ) {
            whiIds+=tWarehouseInfo.getWhiId()+",";
        }
        whiIds=whiIds.substring(0,whiIds.length()-1);
        model.addAttribute("whiIds",whiIds);
        model.addAttribute("totalPrice",overStatisticalService.mevMonthOut(whiIds));
        return "/overview/statisticalReport/mevMonthOut/page";
    }
    @GetMapping("/mevMonthIn")
    @RequiresPermissions({"overview:stapurchase:view"})
    /**
     *@FunctionName: mevMonthIn
     *@Description: 当前月入库金额汇总及明细
     *@DesignIdea: 当前月出入金额汇总及明细
     *@Author: 徐一贺
     *@CreateDate: 2020年7月7日18:11:50
     *@Phone: 18241927380
     *@Param: [model]
     *@Return: java.lang.String
     *@Throw:
     *@Version: v 1.0.0
     */
    public String mevMonthIn(Model model) {
        TWarehouseInfoModel param = new TWarehouseInfoModel();
        param.setWhiPurControllerType("机械备件库");
        List<TWarehouseInfo> warehouseInfoList = purWarehouseInfoService.findWarehouseInfoListByWhiPurControllerType(param);
        model.addAttribute("warehouseInfoList", warehouseInfoList);
        String whiIds="";
        for (TWarehouseInfo tWarehouseInfo :warehouseInfoList ) {
            whiIds+=tWarehouseInfo.getWhiId()+",";
        }
        whiIds=whiIds.substring(0,whiIds.length()-1);
        model.addAttribute("whiIds",whiIds);
        model.addAttribute("totalPrice",overStatisticalService.mevMonthIn(whiIds));
        return "/overview/statisticalReport/mevMonthIn/page";
    }

    @GetMapping("/monthlyConsumptionOfYingkouInventoryAndAmount")
    @RequiresPermissions({"overview:stamatcontrol:view"})
    /**
     *@FunctionName: mevMonthIn
     *@Description: 月消耗营口库存明细及金额
     *@DesignIdea: 月消耗营口库存明细及金额
     *@Author: 徐一贺
     *@CreateDate: 2020年7月16日09:14:32
     *@Phone: 18241927380
     *@Param: [model]
     *@Return: java.lang.String
     *@Throw:
     *@Version: v 1.0.0
     */
    public String monthlyConsumptionOfYingkouInventoryAndAmount(Model model) {
        TWarehouseInfoModel param = new TWarehouseInfoModel();
        param.setWhiPurControllerType("机械备件库-营口");
        List<TWarehouseInfo> warehouseInfoList = purWarehouseInfoService.findWarehouseInfoListByWhiPurControllerType(param);
        model.addAttribute("warehouseInfoList", warehouseInfoList);
        String whiIds="";
        for (TWarehouseInfo tWarehouseInfo :warehouseInfoList ) {
            whiIds+=tWarehouseInfo.getWhiId()+",";
        }
        whiIds=whiIds.substring(0,whiIds.length()-1);

        SimpleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd");
        Calendar calender = Calendar.getInstance();
        Date currentDate = new Date();
        calender.setTime(currentDate);
        String year = calender.get(Calendar.YEAR)+"";
        String month =(calender.get(Calendar.MONTH)+1)+"";
        model.addAttribute("start",year+"-"+month+"-1");
        if(month.equals(12)){
            model.addAttribute("end",(calender.get(Calendar.YEAR)+1)+"-"+1+"-1");
        }else {
            model.addAttribute("end",year+"-"+(calender.get(Calendar.MONTH)+2)+"-1");
        }




        model.addAttribute("totalPrice",overStatisticalService.monthlyConsumptionOfYingkouInventoryAndAmount(whiIds));
        return "/overview/statisticalReport/monthlyConsumptionOfYingkouInventoryAndAmount/page";
    }

    @PostMapping("/projectRemainingAmountQueryList")
    @ResponseBody
    /**
     *@FunctionName: projectRemainingAmountQueryList
     *@Description: 项目剩余金额列表
     *@DesignIdea: 项目剩余金额列表
     *@Author: 徐一贺
     *@CreateDate: 2020/6/23 13:50
     *@Phone: 18241927380
     *@Param: [param] 搜索参数
     *@Return: com.zhongwang.mms.common.JsonResult
     *@Throw:
     *@Version: v 1.0.0
     */
    public JsonResult projectRemainingAmountQueryList(projectRemainingAmountQueryModel param) {
        startPage();
        List<projectRemainingAmountQueryModel> list = overStatisticalService.projectRemainingAmountQueryList(param);
        return jsonResult(list);
    }

    @GetMapping("/projectRemainingAmountQueryList/exportExcel")
    @ResponseBody
    /**
     *@FunctionName: projectRemainingAmountQueryList
     *@Description: 项目剩余金额列表导出
     *@DesignIdea: 项目剩余金额列表导出
     *@Author: 徐一贺
     *@CreateDate: 2020年7月2日10:23:11
     *@Phone: 18241927380
     *@Param: [param] 搜索参数
     *@Return: com.zhongwang.mms.common.JsonResult
     *@Throw:
     *@Version: v 1.0.0
     */
    public void exportExcel(HttpServletResponse response, projectRemainingAmountQueryModel param) {
        overStatisticalService.exportExcel(response, param);
    }

    @PostMapping("/getPurData")
    @ResponseBody
    /**
     *@FunctionName: getPurData
     *@Description: 获取外购件模块数据
     *@DesignIdea: 获取外购件模块数据
     *@Author: 徐一贺
     *@CreateDate: 2020/6/23 15:55
     *@Phone: 18241927380
     *@Param: []
     *@Return: com.zhongwang.mms.common.JsonResult
     *@Throw:
     *@Version: v 1.0.0
     */
    public JsonResult getPurData() {
        return overStatisticalService.getPurData();
    }

//    @PostMapping("/getSteelProductsData")
//    @ResponseBody
//    /**
//     *@FunctionName: getPurData
//     *@Description: 获取外购件模块数据
//     *@DesignIdea: 获取外购件模块数据
//     *@Author: 徐一贺
//     *@CreateDate: 2020年7月6日16:02:28
//     *@Phone: 18241927380
//     *@Param: []
//     *@Return: com.zhongwang.mms.common.JsonResult
//     *@Throw:
//     *@Version: v 1.0.0
//     */
//    public JsonResult getSteelProductsData(SteelProductsDataModel param){
//        List<SteelProductsDataModel> list = overStatisticalService.getSteelProductsData(param);
//        return jsonResult(list);
//    }



    /**
     * 列表
     * 获取机械备件库在库明细以及总金额页面列表
     * @param param 查询条件
     * @return list
     */
    @ResponseBody
    @PostMapping("/purInvQuery/list")
    @RequiresPermissions({"overview:stapurchase:view"})
    public JsonResult purInvQueryList(PurInvQueryModel param) {
        startPage();
        List<PurInvQueryModel> list = overStatisticalService.findPurInvList(param);
        return jsonResult(list);
    }
    /**
     * 列表
     * 机械备件库划项目明细以及总金额页面列表数据
     * @param param 查询条件
     * @return list
     */
    @ResponseBody
    @PostMapping("/purInvProQuery/list")
    @RequiresPermissions({"overview:stapurchase:view"})
    public JsonResult purInvProQueryList(PurInvQueryModel param) {
        startPage();
        List<PurInvQueryModel> list = overStatisticalService.findPurInvProList(param);
        return jsonResult(list);
    }
    /**
     * 列表
     * 暂缓项目在库明细及总金额页面列表数据
     * @param param 查询条件
     * @return list
     */
    @ResponseBody
    @PostMapping("/purInvPostponeQuery/list")
    @RequiresPermissions({"overview:stapurchase:view"})
    public JsonResult purInvPostponeQueryList(PurInvQueryModel param) {
        startPage();
        List<PurInvQueryModel> list = overStatisticalService.findPurInvPostponeList(param);
        return jsonResult(list);
    }


    /**
     * 外购件库
     * 当前月出库金额汇总及明细
     * @param param 查询条件
     * @return list
     */
    @ResponseBody
    @PostMapping("/purWarQuery/list")
    @RequiresPermissions({"purwar:purwarquery:view"})
    public JsonResult purWarQueryList(PurWarQueryModel param) {
        startPage();
        List<PurWarQueryModel> list = overStatisticalService.findPurWarList(param);
        return jsonResult(list);
    }
    /**
     * 外购件库
     * 当前月入库金额汇总及明细
     * @param param 查询条件
     * @return list
     */
    @ResponseBody
    @PostMapping("/purInWarQuery/list")
    @RequiresPermissions({"purwar:purwarquery:view"})
    public JsonResult purInWarQueryList(PurWarQueryModel param) {
        startPage();
        List<PurWarQueryModel> list = overStatisticalService.purInWarQueryList(param);
        return jsonResult(list);
    }


    /**
     * 获取钢材在库统计表数据
     * @param param
     * @return JsonResult 数据
     */
    @ResponseBody
    @PostMapping("/getStatisticsOfSteelInStockData")
    @RequiresPermissions({"overview:stamatcontrol:view"})
    public JsonResult getStatisticsOfSteelInStockData(StatisticsOfSteelInStockDataModel param) {
        return overStatisticalService.getStatisticsOfSteelInStockData(param);
    }
//    /**
//     * 获取钢材在库统计表数据现在的数据
//     * @param param
//     * @return JsonResult 数据
//     */
//    @ResponseBody
//    @PostMapping("/getStatisticsOfSteelInStockDataByNowData")
//    @RequiresPermissions({"overview:stamatcontrol:view"})
//    public JsonResult getStatisticsOfSteelInStockDataByNowData(StatisticsOfSteelInStockDataModel param) {
//        return overStatisticalService.getStatisticsOfSteelInStockDataByNowData(param);
//    }


    /**
     * 获取物资在库金额统计表数据
     * @param param
     * @return JsonResult 数据
     */
    @ResponseBody
    @PostMapping("/getMaterialInStockData")
    @RequiresPermissions({"overview:stamatcontrol:view"})
    public JsonResult getMaterialInStockData(StatisticsOfSteelInStockDataModel param) {
        return overStatisticalService.getMaterialInStockData(param);
    }

    /**
     * 获取月消耗暂缓项目库存明细及金额表数据
     * @param param
     * @return JsonResult 数据
     */
    @ResponseBody
    @PostMapping("/getInventoryDetailsAndAmountOfMonthlyConsumptionDeferredItemsData")
    @RequiresPermissions({"overview:stamatcontrol:view"})
    public JsonResult getInventoryDetailsAndAmountOfMonthlyConsumptionDeferredItemsData(StatisticsOfSteelInStockDataModel param) {
        return overStatisticalService.getInventoryDetailsAndAmountOfMonthlyConsumptionDeferredItemsData(param);
    }

    /**
     * 获取月消耗库房库存明细及金额表数据
     * @param param
     * @return JsonResult 数据
     */
    @ResponseBody
    @PostMapping("/getMonthlyConsumptionWarehouseInventoryDetailsAndAmountData")
    @RequiresPermissions({"overview:stamatcontrol:view"})
    public JsonResult getMonthlyConsumptionWarehouseInventoryDetailsAndAmountData(StatisticsOfSteelInStockDataModel param) {
        return overStatisticalService.getMonthlyConsumptionWarehouseInventoryDetailsAndAmountData(param);
    }

//    /**
//     * 获取月消耗库房库存明细及金额表数据 现在的数据
//     * @param param
//     * @return JsonResult 数据
//     */
//    @ResponseBody
//    @PostMapping("/getMonthlyConsumptionWarehouseInventoryDetailsAndAmountDataByNowData")
//    @RequiresPermissions({"overview:stamatcontrol:view"})
//    public JsonResult getMonthlyConsumptionWarehouseInventoryDetailsAndAmountDataByNowData(StatisticsOfSteelInStockDataModel param) {
//        return overStatisticalService.getMonthlyConsumptionWarehouseInventoryDetailsAndAmountDataByNowData(param);
//    }

//    /**
//     * 获取月消耗暂缓项目库存明细及金额表数据
//     * @param param
//     * @return JsonResult 数据
//     */
//    @ResponseBody
//    @PostMapping("/getinventorydetailsandamountofmonthlyconsumptiondeferreditemsdatabynow")
//    @RequiresPermissions({"overview:stamatcontrol:view"})
//    public JsonResult getInventoryDetailsAndAmountOfMonthlyConsumptionDeferredItemsDataByNow(StatisticsOfSteelInStockDataModel param) {
//        return overStatisticalService.getInventoryDetailsAndAmountOfMonthlyConsumptionDeferredItemsDataByNow(param);
//    }

//    /**
//     * 获取物资在库金额统计表数据 现在
//     * @param param
//     * @return JsonResult 数据
//     */
//    @ResponseBody
//    @PostMapping("/getMaterialInStockDataByNowData")
//    @RequiresPermissions({"overview:stamatcontrol:view"})
//    public JsonResult getMaterialInStockDataByNowData(StatisticsOfSteelInStockDataModel param) {
//        return overStatisticalService.getMaterialInStockDataByNowData(param);
//    }

    @ResponseBody
    @PostMapping("/getMaterialInStockInfoData")
    @RequiresPermissions({"overview:stamatcontrol:view"})
    /**
     * 获取月消耗暂缓项目库存明细
     * @param param year年 month月
     * @return JsonResult 数据
     */
    public JsonResult getMaterialInStockInfoData(StatisticsOfSteelInStockDataModel param) {
        return overStatisticalService.getMaterialInStockInfoData(param);
    }
    @ResponseBody
    @PostMapping("/getMonthlyConsumptionWarehouseInventoryDetailsAndAmountInfo")
    @RequiresPermissions({"overview:stamatcontrol:view"})
    /**
     * 月消耗库房库存明细及金额明细
     * @param param year年 month月
     * @return JsonResult 数据
     */
    public JsonResult getMonthlyConsumptionWarehouseInventoryDetailsAndAmountInfo(StatisticsOfSteelInStockDataModel param) {
        return overStatisticalService.getMonthlyConsumptionWarehouseInventoryDetailsAndAmountInfo(param);
    }


    @GetMapping("/monthlyReceiptPlan")
    @RequiresPermissions({"overview:stamatcontrol:view"})
    /**
     *@FunctionName: monthlyReceiptPlan
     *@Description: 月收到提报计划统计
     *@DesignIdea: 月收到提报计划统计
     *@Author: 徐一贺
     *@CreateDate: 2020年9月1日16:25:30
     *@Phone: 18241927380
     *@Param:
     *@Return: java.lang.String
     *@Throw:
     *@Version: v 1.0.0
     */
    public String monthlyReceiptPlan() {
        return "/overview/statisticalReport/monthlyReceiptPlan/page";
    }
    /**
     * 月收到提报计划统计
     * @return JsonResult 数据
     */
    @ResponseBody
    @PostMapping("/monthlyReceiptPlanList")
    @RequiresPermissions({"overview:stamatcontrol:view"})
    public JsonResult monthlyReceiptPlanList() {
        startPage();
        List<MonthlyReceiptPlanModel> list = overStatisticalService.monthlyReceiptPlanList();
        return jsonResult(list);
    }

    /**  purResidueList 项目剩余金额列表
     * @return com.zhongwang.mms.common.JsonResult
     * @author 徐一贺
     * @date 2020/11/28 14:47
     */
    @ResponseBody
    @PostMapping("/purResidueList")
    @RequiresPermissions("overview:stamatcontrol:view")
    public JsonResult purResidueList(PInventoryModel param) {
        startPage();
        List<PInventoryModel> list = overStatisticalService.findPurResidueList(param);
        return jsonResult(list);
    }
    
    /**  purResidue 项目剩余金额
     * @param
     * @return java.lang.String
     * @exception 
     * @author 徐一贺
     * @date 2020/11/28 14:44
     */
    @GetMapping("/purResidue")
    @RequiresPermissions("overview:stamatcontrol:view")
    public String purResidue() {
        return "/overview/statisticalReport/purResidue/page";
    }
    
    /**  matYingKouInvClassDetailsList 库存分类明细列表
     * @return com.zhongwang.mms.common.JsonResult
     * @author 徐一贺
     * @date 2021/1/8 14:06
     */
    @ResponseBody
    @PostMapping("/matYingKouInvClassDetailsList")
    @RequiresPermissions("overview:starawmat:view")
    public JsonResult matYingKouInvClassDetailsList() {
        List<MatYingKouInvClassDetailsModel> list = overStatisticalService.matYingKouInvClassDetailsList();
        return jsonResult(list);
    }
    /**  malSysSheet SAP在库总金额
     * @relatedReportsOfPurchasedPartsInMaterialSystemToSapOnStockTotalPrice
     * @return java.lang.String
     * @author 徐一贺
     * @date 2021/1/21 15:58
     */
    @GetMapping("/relatedReportsOfPurchasedPartsInMaterialSystemToSapOnStockTotalPrice")
    @RequiresPermissions("overview:stapurchase:view")
    public String relatedReportsOfPurchasedPartsInMaterialSystemToSapOnStockTotalPrice(Model model){
        List<TWarehouseInfo> warehouseInfoList =  overStatisticalService.getWarehouseList();
        model.addAttribute("warehouseInfoList",warehouseInfoList);
        return "/overview/statisticalReport/relatedReportsOfPurchasedPartsInMaterialSystemToSapOnStockTotalPrice/page";
    }
    /**  relatedReportsOfPurchasedPartsInMaterialSystemToSapWorkingOnProjectTotalPrice SAP在干项目在库金额
     * @param
     * @return java.lang.String
     * @author 徐一贺
     * @date 2021/1/21 15:58
     */
    @GetMapping("/relatedReportsOfPurchasedPartsInMaterialSystemToSapWorkingOnProjectTotalPrice")
    @RequiresPermissions("overview:stapurchase:view")
    public String relatedReportsOfPurchasedPartsInMaterialSystemToSapWorkingOnProjectTotalPrice(Model model){
        List<TWarehouseInfo> warehouseInfoList =  overStatisticalService.getWarehouseList();
        model.addAttribute("warehouseInfoList",warehouseInfoList);
        return "/overview/statisticalReport/relatedReportsOfPurchasedPartsInMaterialSystemToSapWorkingOnProjectTotalPrice/page";
    }
    /**  relatedReportsOfPurchasedPartsInMaterialSystemToSapStopOnProjectTotalPrice SAP暂缓项目在库金额
     * @param
     * @return java.lang.String
     * @author 徐一贺
     * @date 2021/1/21 15:58
     */
    @GetMapping("/relatedReportsOfPurchasedPartsInMaterialSystemToSapStopOnProjectTotalPrice")
    @RequiresPermissions("overview:stapurchase:view")
    public String relatedReportsOfPurchasedPartsInMaterialSystemToSapStopOnProjectTotalPrice(Model model){
        List<TWarehouseInfo> warehouseInfoList =  overStatisticalService.getWarehouseList();
        model.addAttribute("warehouseInfoList",warehouseInfoList);
        return "/overview/statisticalReport/relatedReportsOfPurchasedPartsInMaterialSystemToSapStopOnProjectTotalPrice/page";
    }
    /**  relatedReportsOfPurchasedPartsInMaterialSystemToSapWorkShopOnInvTotalPrice SAP车间消耗在库金额
     * @param
     * @return java.lang.String
     * @author 徐一贺
     * @date 2021/1/22 8:37
     */
    @GetMapping("/relatedReportsOfPurchasedPartsInMaterialSystemToSapWorkShopOnInvTotalPrice")
    @RequiresPermissions("overview:stapurchase:view")
    public String relatedReportsOfPurchasedPartsInMaterialSystemToSapWorkShopOnInvTotalPrice(Model model){
        List<TWarehouseInfo> warehouseInfoList =  overStatisticalService.getWarehouseList();
        model.addAttribute("warehouseInfoList",warehouseInfoList);
        return "/overview/statisticalReport/relatedReportsOfPurchasedPartsInMaterialSystemToSapWorkShopOnInvTotalPrice/page";
    }
    /**  malSysSheet SAP库存在库金额
     * @param
     * @return java.lang.String
     * @author 徐一贺
     * @date 2021/1/21 15:58
     */
    @GetMapping("/relatedReportsOfPurchasedPartsInMaterialSystemToSapStopOnInvTotalPrice")
    @RequiresPermissions("overview:stapurchase:view")
    public String relatedReportsOfPurchasedPartsInMaterialSystemToSapStopOnInvTotalPrice(Model model){
        List<TWarehouseInfo> warehouseInfoList =  overStatisticalService.getWarehouseList();
        model.addAttribute("warehouseInfoList",warehouseInfoList);
        return "/overview/statisticalReport/relatedReportsOfPurchasedPartsInMaterialSystemToSapStopOnInvTotalPrice/page";
    }
    /**  totalAmountOfMechanicalSparePartsInWarehouse 机械备件库在库总金额
     * @param
     * @return java.lang.String
     * @author 徐一贺
     * @date 2021/1/22 8:49
     */
    @GetMapping("/totalAmountOfMechanicalSparePartsInWarehouse")
    @RequiresPermissions("overview:stapurchase:view")
    public String totalAmountOfMechanicalSparePartsInWarehouse(Model model){
        List<TWarehouseInfo> warehouseInfoList =  overStatisticalService.getWarehouseList();
        model.addAttribute("warehouseInfoList",warehouseInfoList);
        return "/overview/statisticalReport/totalAmountOfMechanicalSparePartsInWarehouse/page";
    }
    /**  amountOfConsumablesInMechanicalSparePartsWarehouse 机械备件库消耗品在库金额
     * @param
     * @return java.lang.String
     * @author 徐一贺
     * @date 2021/1/22 9:51
     */
    @GetMapping("/amountOfConsumablesInMechanicalSparePartsWarehouse")
    @RequiresPermissions("overview:stapurchase:view")
    public String amountOfConsumablesInMechanicalSparePartsWarehouse(Model model){
        List<TWarehouseInfo> warehouseInfoList =  overStatisticalService.getWarehouseList();
        model.addAttribute("warehouseInfoList",warehouseInfoList);
        return "/overview/statisticalReport/amountOfConsumablesInMechanicalSparePartsWarehouse/page";
    }
    
    /**  amountOfPaintInMechanicalSparePartsWarehouse 机械备件库油漆在库金额 
     * @param
     * @return java.lang.String
     * @author 徐一贺
     * @date 2021/1/22 10:02
     */
    @GetMapping("/amountOfPaintInMechanicalSparePartsWarehouse")
    @RequiresPermissions("overview:stapurchase:view")
    public String amountOfPaintInMechanicalSparePartsWarehouse(Model model){
        List<TWarehouseInfo> warehouseInfoList =  overStatisticalService.getWarehouseList();
        model.addAttribute("warehouseInfoList",warehouseInfoList);
        return "/overview/statisticalReport/amountOfPaintInMechanicalSparePartsWarehouse/page";
    }

    /**  totalAmountOfMechanicalSparePartsInWarehouse 库位  机械备件库和机械备件库营口（大前提条件）
     * @param
     * @return java.lang.String
     * @author 徐一贺
     * @date 2021/1/22 8:49
     */
    @ResponseBody
    @PostMapping("/totalAmountOfMechanicalSparePartsInWarehouse/list")
    @RequiresPermissions("overview:stapurchase:view")
    public JsonResult totalAmountOfMechanicalSparePartsInWarehouseList(PurInvQueryModel param){
        startPage();
        List<PurInvQueryModel> list = overStatisticalService.findTotalAmountOfMechanicalSparePartsInWarehouseList(param);
        return jsonResult(list);
    }
    /**  totalAmountOfMechanicalSparePartsInWarehouseGetTotal 库位  机械备件库和机械备件库营口 区位  油漆库
     * @param
     * @return com.zhongwang.mms.common.JsonResult
     * @author 徐一贺
     * @date 2021/1/22 10:04
     */
    @ResponseBody
    @PostMapping("/amountOfPaintInMechanicalSparePartsWarehouse/getTotalPrice")
    @RequiresPermissions("overview:stapurchase:view")
    public JsonResult amountOfPaintInMechanicalSparePartsWarehouseGetTotal(PurInvQueryModel param){
        return success().setData(overStatisticalService.amountOfPaintInMechanicalSparePartsWarehouseGetTotal(param));
    }
    /**  amountOfPaintInMechanicalSparePartsWarehouseList 机械备件库油漆在库金额 库位  机械备件库和机械备件库营口 区位  油漆库
     * @param
     * @return com.zhongwang.mms.common.JsonResult
     * @author 徐一贺
     * @date 2021/1/22 10:02
     */
    @ResponseBody
    @PostMapping("/amountOfPaintInMechanicalSparePartsWarehouse/list")
    @RequiresPermissions("overview:stapurchase:view")
    public JsonResult amountOfPaintInMechanicalSparePartsWarehouseList(PurInvQueryModel param){
        startPage();
        List<PurInvQueryModel> list = overStatisticalService.findAmountOfPaintInMechanicalSparePartsWarehouseList(param);
        return jsonResult(list);
    }
    
    /**  amountOfConsumablesInMechanicalSparePartsWarehouseList 机械备件库消耗品在库金额 库位  机械备件库和机械备件库营口 区位  消耗品
     * @param
     * @return com.zhongwang.mms.common.JsonResult
     * @author 徐一贺
     * @date 2021/1/22 9:53
     */
    @ResponseBody
    @PostMapping("/amountOfConsumablesInMechanicalSparePartsWarehouse/list")
    @RequiresPermissions("overview:stapurchase:view")
    public JsonResult amountOfConsumablesInMechanicalSparePartsWarehouseList(PurInvQueryModel param){
        startPage();
        List<PurInvQueryModel> list = overStatisticalService.findAmountOfConsumablesInMechanicalSparePartsWarehouseList(param);
        return jsonResult(list);
    }
    /**  amountOfConsumablesInMechanicalSparePartsWarehouseGetTotalPrice 机械备件库消耗品在库金额 库位  机械备件库和机械备件库营口 区位  消耗品
     * @param
     * @return com.zhongwang.mms.common.JsonResult
     * @author 徐一贺
     * @date 2021/1/22 9:56
     */
    @ResponseBody
    @PostMapping("/amountOfConsumablesInMechanicalSparePartsWarehouse/getTotalPrice")
    @RequiresPermissions("overview:stapurchase:view")
    public JsonResult amountOfConsumablesInMechanicalSparePartsWarehouseGetTotalPrice(PurInvQueryModel param){
        return success().setData(overStatisticalService.amountOfConsumablesInMechanicalSparePartsWarehouseGetTotalPrice(param));
    }

    /**  amountOfMechanicalSparePartsInStock2List 机械备件库库存在库金额 库位  机械备件库和机械备件库营口 项目状态 完成 无状态（区位不包括消耗品、油漆库）
     * @param
     * @return com.zhongwang.mms.common.JsonResult
     * @author 徐一贺
     * @date 2021/1/22 9:39
     */
    @ResponseBody
    @PostMapping("/amountOfMechanicalSparePartsInStock2/list")
    @RequiresPermissions("overview:stapurchase:view")
    public JsonResult amountOfMechanicalSparePartsInStock2List(PurInvQueryModel param){
        startPage();
        List<PurInvQueryModel> list = overStatisticalService.findAmountOfMechanicalSparePartsInStock2ListList(param);
        return jsonResult(list);
    }
    /**  amountOfMechanicalSparePartsInStock2GetTotalPrice 机械备件库库存在库金额 库位  机械备件库和机械备件库营口 项目状态 完成 无状态（区位不包括消耗品、油漆库）
     * @param
     * @return com.zhongwang.mms.common.JsonResult
     * @author 徐一贺
     * @date 2021/1/22 9:42
     */
    @ResponseBody
    @PostMapping("/amountOfMechanicalSparePartsInStock2/getTotalPrice")
    @RequiresPermissions("overview:stapurchase:view")
    public JsonResult amountOfMechanicalSparePartsInStock2GetTotalPrice(PurInvQueryModel param){
        return success().setData( overStatisticalService.amountOfMechanicalSparePartsInStock2GetTotalPrice(param));
    }

    /**  amountOfMechanicalSparePartsInStock 机械备件库在干项目在库金额
     * @param
     * @return java.lang.String
     * @author 徐一贺
     * @date 2021/1/22 9:22
     */
    @GetMapping("/amountOfMechanicalSparePartsInStock")
    @RequiresPermissions("overview:stapurchase:view")
    public String amountOfMechanicalSparePartsInStock(Model model){
        List<TWarehouseInfo> warehouseInfoList =  overStatisticalService.getWarehouseList();
        model.addAttribute("warehouseInfoList",warehouseInfoList);
        return "/overview/statisticalReport/amountOfMechanicalSparePartsInStock/page";
    }
    /**  amountOfMechanicalSparePartsInStock2 机械备件库库存在库金额
     * @param
     * @return java.lang.String
     * @author 徐一贺
     * @date 2021/1/22 9:34
     */
    @GetMapping("/amountOfMechanicalSparePartsInStock2")
    @RequiresPermissions("overview:stapurchase:view")
    public String amountOfMechanicalSparePartsInStock2(Model model){
        List<TWarehouseInfo> warehouseInfoList =  overStatisticalService.getWarehouseList();
        model.addAttribute("warehouseInfoList",warehouseInfoList);
        return "/overview/statisticalReport/amountOfMechanicalSparePartsInStock2/page";
    }
    
    /**  amountOfDeferredProjectInMechanicalSparePartsWarehouse 机械备件库暂缓项目在库金额
     * @param
     * @return java.lang.String
     * @author 徐一贺
     * @date 2021/1/22 9:26
     */
    @GetMapping("/amountOfDeferredProjectInMechanicalSparePartsWarehouse")
    @RequiresPermissions("overview:stapurchase:view")
    public String amountOfDeferredProjectInMechanicalSparePartsWarehouse(Model model){
        List<TWarehouseInfo> warehouseInfoList =  overStatisticalService.getWarehouseList();
        model.addAttribute("warehouseInfoList",warehouseInfoList);
        return "/overview/statisticalReport/amountOfDeferredProjectInMechanicalSparePartsWarehouse/page";
    }

    /**  amountOfMechanicalSparePartsInStockList 库位  机械备件库和机械备件库营口 项目状态 制作中 待制作（区位不包括消耗品、油漆库）
     * @param
     * @return com.zhongwang.mms.common.JsonResult
     * @author 徐一贺
     * @date 2021/1/22 9:15
     */
    @ResponseBody
    @PostMapping("/amountOfMechanicalSparePartsInStock/list")
    @RequiresPermissions("overview:stapurchase:view")
    public JsonResult amountOfMechanicalSparePartsInStockList(PurInvQueryModel param){
        startPage();
        List<PurInvQueryModel> list = overStatisticalService.findAmountOfMechanicalSparePartsInStockList(param);
        return jsonResult(list);
    }

    /**  amountOfDeferredProjectInMechanicalSparePartsWarehouseList 机械备件库暂缓项目在库金额 库位  机械备件库和机械备件库营口 项目状态 暂缓 （区位不包括消耗品、油漆库）
     * @param
     * @return com.zhongwang.mms.common.JsonResult
     * @author 徐一贺
     * @date 2021/1/22 9:27
     */
    @ResponseBody
    @PostMapping("/amountOfDeferredProjectInMechanicalSparePartsWarehouse/list")
    @RequiresPermissions("overview:stapurchase:view")
    public JsonResult amountOfDeferredProjectInMechanicalSparePartsWarehouseList(PurInvQueryModel param){
        startPage();
        List<PurInvQueryModel> list = overStatisticalService.findAmountOfDeferredProjectInMechanicalSparePartsWarehouseList(param);
        return jsonResult(list);
    }
    
    /**  amountOfMechanicalSparePartsInStockGetTotalPrice 库位  机械备件库和机械备件库营口 项目状态 制作中 待制作（区位不包括消耗品、油漆库）
     * @param
     * @return com.zhongwang.mms.common.JsonResult
     * @author 徐一贺
     * @date 2021/1/22 9:19
     */
    @ResponseBody
    @PostMapping("/amountOfMechanicalSparePartsInStock/getTotalPrice")
    @RequiresPermissions("overview:stapurchase:view")
    public JsonResult amountOfMechanicalSparePartsInStockGetTotalPrice(PurInvQueryModel param){
       return success().setData(overStatisticalService.amountOfMechanicalSparePartsInStockGetTotalPrice(param));
    }

    /**  amountOfDeferredProjectInMechanicalSparePartsWarehouseGetTotalPrice 机械备件库暂缓项目在库金额 库位  机械备件库和机械备件库营口 项目状态 暂缓 （区位不包括消耗品、油漆库）
     * @param
     * @return com.zhongwang.mms.common.JsonResult
     * @author 徐一贺
     * @date 2021/1/22 9:30
     */
    @ResponseBody
    @PostMapping("/amountOfDeferredProjectInMechanicalSparePartsWarehouse/getTotalPrice")
    @RequiresPermissions("overview:stapurchase:view")
    public JsonResult amountOfDeferredProjectInMechanicalSparePartsWarehouseGetTotalPrice(PurInvQueryModel param){
       return success().setData(overStatisticalService.amountOfDeferredProjectInMechanicalSparePartsWarehouseGetTotalPrice(param));
    }

    /**  totalAmountOfMechanicalSparePartsInWarehouseGetTotalPrice 库位 机械备件库和机械备件库营口（大前提条件）  总金额
     * @param
     * @return com.zhongwang.mms.common.JsonResult
     * @author 徐一贺
     * @date 2021/1/22 8:56
     */
    @ResponseBody
    @PostMapping("/totalAmountOfMechanicalSparePartsInWarehouse/getTotalPrice")
    @RequiresPermissions("overview:stapurchase:view")
    public JsonResult totalAmountOfMechanicalSparePartsInWarehouseGetTotalPrice(PurInvQueryModel param){
        return success().setData(overStatisticalService.totalAmountOfMechanicalSparePartsInWarehouseGetTotalPrice(param));
    }

    /**
     *
     * SAP在库总金额 列表 库位 A060---A093（大前提条件）
     * @return list
     */
    @ResponseBody
    @PostMapping("/relatedReportsOfPurchasedPartsInMaterialSystemToSapOnStockTotalPrice/list")
    @RequiresPermissions({"overview:stapurchase:view"})
    public JsonResult relatedReportsOfPurchasedPartsInMaterialSystemToSapOnStockTotalPriceList(PurInvQueryModel param) {
        startPage();
        List<PurInvQueryModel> list = overStatisticalService.findRelatedReportsOfPurchasedPartsInMaterialSystemToSapOnStockTotalPriceList(param);
        return jsonResult(list);
    }
    /**
     *
     * SAP库存在库金额 列表 库位 A060---A093 项目状态 完成 无状态（不包含库位A068  项目编码为成本中心（不包含140000））
     * @return list
     */
    @ResponseBody
    @PostMapping("/relatedReportsOfPurchasedPartsInMaterialSystemToSapStopOnInvTotalPrice/list")
    @RequiresPermissions({"overview:stapurchase:view"})
    public JsonResult relatedReportsOfPurchasedPartsInMaterialSystemToSapStopOnInvTotalPriceList(PurInvQueryModel param) {
        startPage();
        List<PurInvQueryModel> list = overStatisticalService.findRelatedReportsOfPurchasedPartsInMaterialSystemToSapStopOnInvTotalPriceList(param);
        return jsonResult(list);
    }
    /**
     *
     * SAP库存在库金额 列表 库位 A060---A093 区位A068  项目编码为成本中心（不包含140000）
     * @return list
     */
    @ResponseBody
    @PostMapping("/relatedReportsOfPurchasedPartsInMaterialSystemToSapWorkShopOnInvTotalPrice/list")
    @RequiresPermissions({"overview:stapurchase:view"})
    public JsonResult relatedReportsOfPurchasedPartsInMaterialSystemToSapWorkShopOnInvTotalPriceList(PurInvQueryModel param) {
        startPage();
        List<PurInvQueryModel> list = overStatisticalService.findRelatedReportsOfPurchasedPartsInMaterialSystemToSapWorkShopOnInvTotalPriceList(param);
        return jsonResult(list);
    }
    /**
     *
     * SAP在干项目在库总金额 列表 库位 A060---A093 项目状态 制作中和待制作
     * @return list
     */
    @ResponseBody
    @PostMapping("/relatedReportsOfPurchasedPartsInMaterialSystemToSapWorkingOnProjectTotalPrice/list")
    @RequiresPermissions({"overview:stapurchase:view"})
    public JsonResult relatedReportsOfPurchasedPartsInMaterialSystemToSapWorkingOnProjectTotalPriceList(PurInvQueryModel param) {
        startPage();
        List<PurInvQueryModel> list = overStatisticalService.findRelatedReportsOfPurchasedPartsInMaterialSystemToSapWorkingOnProjectTotalPriceList(param);
        return jsonResult(list);
    }
    /**
     *
     * SAP暂缓项目在库总金额 列表 库位 A060---A093 项目状态 暂缓
     * @return list
     */
    @ResponseBody
    @PostMapping("/relatedReportsOfPurchasedPartsInMaterialSystemToSapStopOnProjectTotalPrice/list")
    @RequiresPermissions({"overview:stapurchase:view"})
    public JsonResult relatedReportsOfPurchasedPartsInMaterialSystemToSapStopOnProjectTotalPriceList(PurInvQueryModel param) {
        startPage();
        List<PurInvQueryModel> list = overStatisticalService.findRelatedReportsOfPurchasedPartsInMaterialSystemToSapStopOnProjectTotalPriceList(param);
        return jsonResult(list);
    }
    /**
     *
     * SAP在库总金额 库位 A060---A093（大前提条件）
     * @return list
     */
    @ResponseBody
    @PostMapping("/relatedReportsOfPurchasedPartsInMaterialSystemToSapOnStockTotalPrice/getTotalPrice")
    @RequiresPermissions({"overview:stapurchase:view"})
    public JsonResult relatedReportsOfPurchasedPartsInMaterialSystemToSapOnStockTotalPriceGetTotalPrice(PurInvQueryModel param) {
        return success().setData(overStatisticalService.relatedReportsOfPurchasedPartsInMaterialSystemToSapOnStockTotalPriceGetTotalPrice(param));
    }
    /**
     *
     * SAP在干项目在库总金额 列表 库位 A060---A093 项目状态 制作中和待制作
     * @return list
     */
    @ResponseBody
    @PostMapping("/relatedReportsOfPurchasedPartsInMaterialSystemToSapWorkingOnProjectTotalPrice/getTotalPrice")
    @RequiresPermissions({"overview:stapurchase:view"})
    public JsonResult relatedReportsOfPurchasedPartsInMaterialSystemToSapWorkingOnProjectTotalPriceGetTotalPrice(PurInvQueryModel param) {
        return success().setData(overStatisticalService.relatedReportsOfPurchasedPartsInMaterialSystemToSapWorkingOnProjectTotalPriceGetTotalPrice(param));
    }

    /**
     *
     * SAP暂缓项目在库总金额 库位 A060---A093 项目状态 暂缓
     */
    @ResponseBody
    @PostMapping("/relatedReportsOfPurchasedPartsInMaterialSystemToSapStopOnProjectTotalPrice/getTotalPrice")
    @RequiresPermissions({"overview:stapurchase:view"})
    public JsonResult relatedReportsOfPurchasedPartsInMaterialSystemToSapStopOnProjectTotalPriceGetTotalPrice(PurInvQueryModel param) {
        return success().setData(overStatisticalService.relatedReportsOfPurchasedPartsInMaterialSystemToSapStopOnProjectTotalPriceGetTotalPrice(param));
    }

    /**
     *
     * SAP库存在库金额 列表 库位 A060---A093 项目状态 完成 无状态（不包含库位A068  项目编码为成本中心（不包含140000））
     */
    @ResponseBody
    @PostMapping("/relatedReportsOfPurchasedPartsInMaterialSystemToSapStopOnInvTotalPrice/getTotalPrice")
    @RequiresPermissions({"overview:stapurchase:view"})
    public JsonResult relatedReportsOfPurchasedPartsInMaterialSystemToSapStopOnInvTotalPriceGetTotalPrice(PurInvQueryModel param) {
        return success().setData(overStatisticalService.relatedReportsOfPurchasedPartsInMaterialSystemToSapStopOnInvTotalPriceGetTotalPrice(param));
    }
    /**  relatedReportsOfPurchasedPartsInMaterialSystemToSapWorkShopOnInvTotalPriceGetTotalPrice 库位 A060---A093 区位A068  项目编码为成本中心（不包含140000）
     * @param
     * @return com.zhongwang.mms.common.JsonResult
     * @author 徐一贺
     * @date 2021/1/22 8:43
     */
    @ResponseBody
    @PostMapping("/relatedReportsOfPurchasedPartsInMaterialSystemToSapWorkShopOnInvTotalPrice/getTotalPrice")
    @RequiresPermissions({"overview:stapurchase:view"})
    public JsonResult relatedReportsOfPurchasedPartsInMaterialSystemToSapWorkShopOnInvTotalPriceGetTotalPrice(PurInvQueryModel param) {
        return success().setData(overStatisticalService.relatedReportsOfPurchasedPartsInMaterialSystemToSapWorkShopOnInvTotalPriceGetTotalPrice(param));
    }

    /**  getWarehouseList 获取仓库列表
     * @param
     * @return com.zhongwang.mms.common.JsonResult
     * @author 徐一贺
     * @date 2021/1/23 9:22
     */
    @ResponseBody
    @PostMapping("/getWarehouseList")
    @RequiresPermissions({"overview:stapurchase:view"})
    public JsonResult getWarehouseList() {
        return success().setData(overStatisticalService.getWarehouseList());
    }

}